package com.chujian.framework.component.def;

import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.util.List;

/**
 * 编辑列
 */
@Getter
@Setter
@Accessors(chain = true)
@NoArgsConstructor
public class YEditCol extends YCol {

    public YEditCol(String col, String name) {
        super(col, name);
    }

    // ## 布局属性
    // 占用的列
    private Integer span = 8;

    // ## 基础属性
    // 是否可见 overwrite
    private boolean visible = true;
    // 是否可编辑
    private boolean editable = true;
    // 是否启用
    private boolean enabled = true;
    // 是否必填
    private boolean required = false;
    // 是否有权限
    private boolean hasAuth = true;
    // 是否表列
    private boolean isTableCol = true;

    // 默认值
    private String defaultValue;

    // ## 编辑属性
    // 编辑组件ID
    private Integer componentId;
    // 组件标识
    private String component;
    // 组件属性
    private YComponentProp componentProps;
    // 组件数据查询
    private YQuery query;
    // 编辑后执行：触发依赖、带出
    private String triggerDep;
    // 编辑后执行
    private List<YScript> afterEditScripts;
}
